package com.ccloud.api.motorfactory.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ccloud.api.motorfactory.domain.MMotorPart;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ccloud.api.motorfactory.dto.MotorPartExcelDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 摩托零件货品表 服务类
 * </p>
 *
 * @author chentl
 * @since 2022-04-09
 */
public interface IMMotorPartService extends IService<MMotorPart> {

    /*
     * @Author chentl
     * @Description 查询分页列表
     * @Date 21:14 2022/4/9
     * @Param [page, motorPart]
     * @Return com.baomidou.mybatisplus.core.metadata.IPage<com.ccloud.api.motorfactory.domain.MMotorPart>
     **/
    IPage<MMotorPart> selectPage(Page<MMotorPart> page,MMotorPart motorPart);

    /*
     * @Author chentl
     * @Description 保存货品信息 并构建关联关系
     * @Date 1:52 2022/4/10
     * @Param [motorPart]
     * @Return void
     **/
    void saveAndBuildRelations(MMotorPart motorPart);

    /*
     * @Author chentl
     * @Description 根据货品id 获取相关所有关联数据
     * @Date 2:40 2022/4/10
     * @Param [partId]
     * @Return java.util.Map<java.lang.String,java.lang.Object>
     **/
    Map<String,Object> getRelsByPartId(String partId);

    /*
     * @Author chentl
     * @Description 更新货品信息，并重新构建关联关系
     * @Date 3:18 2022/4/10
     * @Param [motorPart]
     * @Return void
     **/
    void updateAndReBuildRelations(MMotorPart motorPart);

    /*
     * @Author chentl
     * @Description 保存导入的数据
     * @Date 21:04 2022/4/21
     * @Param [list]
     * @Return void
     **/
    void saveImportData(List<MotorPartExcelDto> list);
}
